home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / ast_text / faqs / mdl-3fqs < prev    next >
Encoding:
Text File  |  1993-06-28  |  10.8 KB  |  300 lines

  1. Newsgroups: comp.lang.modula3,comp.answers,news.answers
  2. Path: senator-bedfellow.mit.edu!enterpoop.mit.edu!spool.mu.edu!darwin.sura.net!howland.reston.ans.net!usc!elroy.jpl.nasa.gov!decwrl!src.dec.com!src.dec.com!muller
  3. From: Eric Muller <muller@src.dec.com>
  4. Subject: Modula-3 Frequently Asked Questions (FAQ)
  5. Message-ID: <1993May4.010152.18073@src.dec.com>
  6. Followup-To: comp.lang.modula3
  7. Sender: news@src.dec.com (News)
  8. Organization: DEC Systems Research Center
  9. Date: Tue, 4 May 93 01:01:52 GMT
  10. Approved: news-answers-request@MIT.Edu
  11. Expires: 15 June 1993 00:00:00 GMT
  12. Lines: 285
  13. Xref: senator-bedfellow.mit.edu comp.lang.modula3:1801 comp.answers:614 news.answers:8156
  14.  
  15. Archive-name: Modula-3-faq
  16. Last-modified: Apr 22 1993
  17.  
  18.  
  19.          Modula-3 Frequently Asked Questions
  20.          ===================================
  21.  
  22.  
  23. 1. The language
  24.     1.1. What is Modula-3 ?
  25.     1.2. Is Modula-3 a superset of Modula-2 ?
  26. 2. The documentation
  27.     2.1. Where can I get a description of Modula-3 ? 
  28.     2.2. Where can I get other information on Modula-3 ?
  29. 3. The implementations
  30.     3.1. Where can I get an implementation ?
  31.     3.2. What is SRC Modula-3 ?
  32.     3.3. What is m3pc ?
  33.     3.4. What is GNU Modula-3 ?
  34. 4. Some specific problems
  35.     4.1. What is the story with Trestle and OpenWindows ?
  36. 5. FTP
  37.     5.1. What if I don't have ftp access ?
  38. 6. Contributing
  39.     6.1. Can I contribute Modula-3 software ?
  40.  
  41.  
  42.  
  43.  
  44. 1.1. What is Modula-3 ?
  45.  
  46.    The goal of Modula-3 is to be as simple and safe as it can be while
  47.    meeting the needs of modern systems programmers.  Instead of
  48.    exploring new features, we studied the features of the Modula
  49.    family of languages that have proven themselves in practice and
  50.    tried to simplify them into a harmonious language.  We found that
  51.    most of the successful features were aimed at one of two main
  52.    goals: greater robustness, and a simpler, more systematic type
  53.    system.
  54.  
  55.    Modula-3 descends from Mesa, Modula-2, Cedar, and Modula-2+.  It
  56.    also resembles its cousins Object Pascal, Oberon, and Euclid.
  57.  
  58.    Modula-3 retains one of Modula-2's most successful features, the
  59.    provision for explicit interfaces between modules.  It adds objects
  60.    and classes, exception handling, garbage collection, lightweight
  61.    processes (or threads), and the isolation of unsafe features.
  62.  
  63.  
  64. 1.2. Is Modula-3 a superset of Modula-2 ?
  65.  
  66.    No; valid Modula-2 programs are not valid Modula-3 programs.  However,
  67.    there is a tool to help convert Modula-2 programs to Modula-3.
  68.  
  69.  
  70. 2.1. Where can I get a description of Modula-3 ? 
  71.    
  72.    The definition of Modula-3 is contained in:
  73.  
  74.         System Programming with Modula-3
  75.         Edited by Greg Nelson
  76.         Prentice Hall Series in Innovative Technology
  77.         ISBN 0-13-590464-1
  78.         L.C. QA76.66.S87 1991
  79.  
  80.    also known as SPwM3.  Here is the table of contents:
  81.  
  82.         1. Introduction
  83.         2. Language Definition
  84.         3. Standard Interfaces
  85.         4. An Introduction to Programming with Threads
  86.         5. Thread Synchronization: A Formal Specification
  87.         6. I/O Streams: Abstract Types, Real Programs
  88.         7. Trestle Window System Tutorial
  89.         8. How the Language Got its Spots
  90.  
  91.    Chapters 2 and 3 have been reprinted in Sigplan Notices, Volume 27,
  92.    Number 8, August 1992, pp 15-42.
  93.  
  94.    Sam Harbison has written a more tutorial book about Modula3:
  95.  
  96.         Modula-3
  97.         Samuel P. Harbison
  98.         Prentice Hall, 1992
  99.         ISBN 0-13-596396-6
  100.  
  101.    The errata sheet is available via anonymous ftp from gatekeeper.dec.com 
  102.    in pub/DEC/Modula-3/errata.
  103.  
  104.  
  105. 2.2. Where can I get other information on Modula-3 ?
  106.  
  107.    There is a Usenet newsgroup, comp.lang.modula3.  The archives of
  108.    that group are available via anonymous ftp from gatekeeper.dec.com
  109.    in pub/DEC/Modula-3/comp.lang.modula3.  If you do not have
  110.    access to Usenet, there is a relay mailing list; send a message to
  111.    m3-request@src.dec.com to be added to it.
  112.  
  113.    There are a couple high-level overview articles available:
  114.  
  115.         "Modula-3", Sam Harbison, Byte, Vol. 15, No. 12, November 1990,
  116.         pp 385+.
  117.  
  118.         "Safe Programming with Modula-3", Sam Harbison, Dr. Dobb's Journal,
  119.         Vol. 17, No. 10, October 1992, pp 88+.
  120.  
  121.    A description of the Modula-3 type system is in
  122.  
  123.         "The Modula-3 Type System", Luca Cardelli, Jim Donahue, Mick Jordan,
  124.         Bill Kalsow, Greg Nelson, Conference Record of the Sixteenth Annual
  125.         ACM Symposium on Principles of Programming Languages (POPL), Austin
  126.         Texas, January 11-13 1989, pp 202-212.
  127.  
  128.    The Trestle window system toolkit and higher-level FormsVBT toolkit,
  129.    available with Modula-3, are documented in the following reports:
  130.  
  131.         "Trestle Reference Manual", Mark S. Manasse and Greg Nelson,
  132.         SRC Research Report 68, December 1991.
  133.  
  134.         "Trestle Tutorial", Mark S. Manasse and Greg Nelson, SRC Research
  135.         Report 69, May 1, 1992.
  136.  
  137.         "The FormsVBT Reference Manual", Marc H. Brown and James R. Meehan,
  138.         (soon to be SRC Research Report ??).
  139.  
  140.    These reports can be ordered by e-mail; send your request to
  141.    src-reports@src.dec.com.
  142.  
  143.  
  144. 3.1. Where can I get an implementation ?
  145.  
  146.    Two implementations are available, SRC Modula-3 and a
  147.    PC version of it (m3pc).  Work is also progressing on GNU Modula-3.
  148.  
  149.  
  150. 3.2. What is SRC Modula-3 ?
  151.  
  152.    SRC Modula-3 was built by the DEC Systems Reseach Center
  153.    and is available via anonymous ftp from gatekeeper.dec.com in
  154.    pub/DEC/Modula-3/release.
  155.  
  156.    The current version, 2.11, implements the language defined in SPwM3.
  157.    There are versions for the following machines:
  158.  
  159.         AIX386  IBM PC running AIX/PS2,
  160.         AP3000  Apollo DN4500 running Domain/OS
  161.         ARM     Acorn R260 running RISC iX 1.21
  162.         DS3100  DECstation 3100 and 5000 running Ultrix 4.0 and 4.2
  163.         HP300   HP 9000/300 running HP-UX 8.0
  164.     HPPA    HP 700/800 running HP-UX 8.0
  165.         IBMR2   IBM R6000 running AIX 3.1, 
  166.         IBMRT   IBM RT running IBM/4.3, 
  167.         NEXT    NeXT running ?
  168.     OKI     Okidata 7300 (i860) running AT&T SVR4.0
  169.         SPARC   SPARCstation running SunOS 4.1.x
  170.         SUN3    SUN3 running SunOS
  171.     SUN386  Sun 386i  running SunOS 4.0.1
  172.         UMAX    Encore Multimax running UMAX 4.3 (R4.1.1)
  173.         VAX     VAX running Ultrix 3.1
  174.  
  175.    SRC Modula-3 includes a user manual, compiler, runtime library,
  176.    some libraries and a few other goodies (see below).
  177.  
  178.    The compiler generates C as an intermediate language and should be
  179.    fairly easy to port.  Except for the very lowest levels of the
  180.    thread implementation, the entire system is written in Modula-3.
  181.  
  182.  
  183. 3.3. What is m3pc ?
  184.  
  185.    m3pc is available via anonymous ftp from gatekeeper.dec.com in
  186.    pub/DEC/Modula-3/contrib/m3pc.
  187.  
  188.    From: laszlo@post.ifi.uni-klu.ac.at (Prof.Dr.Laszlo BOESZOERMENYI)
  189.    Subject: M3 pn PC
  190.    Date: 8 Mar 1993 13:13:52 GMT
  191.  
  192.    The Modula-3 system ported by us on the PC and available on the
  193.    gatekeeper, runs with MSDOS, gnu c compiler and djgpp memory
  194.    manager (detailed description in the read me file).
  195.  
  196.    You may compile, link and run Modula-3 programs, without threads.
  197.    From the library modules only those are tested which are used by
  198.    the compiler.  In the course of a student project a
  199.    "student-friendly" environment is in development.  It will be
  200.    available at end of June (hopefully).
  201.  
  202.  
  203. 3.4. What is GNU Modula-3 ?
  204.  
  205.    From: moss@cs.cmu.edu (Eliot Moss)
  206.    Subject: GNU Modula-3 alpha release status
  207.    Date: 25 Mar 93 17:53:12 GMT
  208.  
  209.    We said we'd try to get the initial (alpha) release of GNU
  210.    Modula-3 out some time this month (March), and we're in the
  211.    process of figuring out what to release and how to package it
  212.    up. We expect to have something in roughly two weeks (watch
  213.    this space for a notice).
  214.  
  215.    What would this be? First, it is a compiler for the VAX (only)
  216.    under Ultrix (only), definitely without threads, and probably
  217.    still failing a small number of the tests in the SRC test
  218.    suite (which implies that not all of libm3 is likely to work
  219.    either). The actual release information will detail more about
  220.    what's working and what's not at that time. We DO currently
  221.    pass all the compiler tests that the SRC compiler did when it
  222.    was first released (i.e., the ones we fail are more obscure
  223.    things that users uncovered over time).
  224.  
  225.    Second, the release itself will be a compressed tar file
  226.    including sources and executables. The executables will
  227.    probably work only if you put libraries, etc., in the expected
  228.    places (otherwise, you'll need to rebuild from sources).The
  229.    compiler is written in C and should be compiled with a recent
  230.    version of gcc (so you'll need gcc installed). The system also
  231.    uses gld (the GNU linker).
  232.  
  233.    This release should be most useful to people undertaking ports
  234.    to other machines and operating systems, since it will give
  235.    them a head start on understanding the compiler and getting
  236.    the full system ready. It may be of some use for ordinary
  237.    programming, but it really depends on whether you tend to use
  238.    features that tickle the remaining bugs. We are indeed
  239.    interested in alpha test reports, but only if they tell us
  240.    something new (i.e., we'll provide a list of known
  241.    deficiencies).
  242.  
  243.    When the release is made, we'll also start email discussions
  244.    with the various parties who have indicated they might
  245.    undertake ports, to help sort out who will do what.
  246.  
  247.    Regards, and thanks for your continued interest and
  248.    encouragement -- EM
  249.  
  250.  
  251. 4.1. What is the story with Trestle and OpenWindows ?
  252.  
  253.    Mark Manasse says: 
  254.  
  255.    I think that the OpenWindows release should be enough (no need to 
  256.    get the MIT X release], although there are a few things in Trestle
  257.    that trigger devastating bugs in OpenWindows. But the only library
  258.    we depend on is Xlib, R4 or later.
  259.  
  260.    The main thing I know that crashes OW 2.0 is the code where we call 
  261.    GrabKey specifying AnyKey.  You can either loop over all of the 
  262.    keys, or you can just comment out the call; programs won't run exactly 
  263.    the same, but you probably won't notice the difference.
  264.  
  265.  
  266. 5.1. What if I don't have ftp access ?
  267.  
  268.    Unfortunately, we cannot deliver Modula-3 other than by 
  269.    anonymous ftp.  
  270.  
  271.    Fortunately, Prime Time Freeware (PTF) includes Modula-3.  PTF is
  272.    a set of two ISO-9660 CDroms filled with 3GB of freeware, issued
  273.    semi-annually.  The latest issue, Volume 1, Number 2, July 1992,
  274.    contains SRC Modula-3 2.07.  PTF is distributed via bookstores and
  275.    mail.  You can reach PTF using:
  276.  
  277.     Email:  ptf@cfcl.com
  278.         Fax:    [1] (408) 738 2050
  279.         Voice:  [1] (408) 738 4832
  280.         Mail:   Prime Time Freeware
  281.              415-112 N. Mary Ave., Suite 50
  282.         Sunnyvale, CA 94086
  283.             USA
  284.  
  285. 6.1. Can I contribute Modula-3 software ?
  286.  
  287.    Certainly.  Send us what you are willing to share, be it programs,
  288.    libraries or other things.  We'll put them in the distribution.
  289.  
  290.    Right now, the pub/DEC/Modula-3/contrib directory contains:
  291.  
  292.       m3rpc   an rpc system from Xerox Parc
  293.       M2toM3  a translator from Modula-2 to Modula-3
  294.       m3pc    an implementation of Modula-3 for PCs.
  295.    
  296.  
  297.  
  298. -- 
  299. Eric.
  300.